package com.github.yangyishe;


/**
 * The type Problem 1281.
 * 整数的各位积和之差
 * 给你一个整数 n，请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。
 * 示例 1：
 *
 * 输入：n = 234
 * 输出：15
 * 解释：
 * 各位数之积 = 2 * 3 * 4 = 24
 * 各位数之和 = 2 + 3 + 4 = 9
 * 结果 = 24 - 9 = 15
 *
 */
public class Problem1281 {
    public int subtractProductAndSum(int n) {
        // 获取各位数
        int[] eachNumArr={-1,-1,-1,-1,-1};
        int residue=n;
        int ws=0;
        do{
            eachNumArr[ws++]=residue%10;
            residue=residue/10;
        }while(residue!=0);

        // 计算各位数
        int sum=0;
        int product=1;
        for (int eachNum : eachNumArr) {
            if (eachNum!=-1) {
                sum+=eachNum;
                product*=eachNum;
            }
        }

        return product-sum;
    }

    public static void main(String[] args) {
        Problem1281 problem1281 = new Problem1281();
        System.out.println(problem1281.subtractProductAndSum(4421));
    }
}
